unit clsNomesProduto;

interface

uses Dm,dbtables,biblio;

type
  TNomesProduto=Class(TObject)
    private
      Pro_codigo     : String;
      Nomp_numero    : String;
    public
      Nomp_descricao : String;
      function  Gravar(p_Pro_codigo, p_Nomp_numero:String):Byte;
      function  Recuperar(p_Pro_codigo, p_Nomp_numero:String):Byte;
      function  Excluir(p_Pro_codigo, p_Nomp_numero:String):Byte;
      procedure Consultar(var p_q:TQuery; p_Pro_codigo:String);
  end;

implementation

function TNomesProduto.Gravar;
var tq:TQuery;
begin
  tq:=Tquery.Create(DmInt);
  tq.databasename:=dmint.Db.DatabaseName;
  tq.active:=False;
  tq.sql.clear;
  tq.params.clear;
  tq.sql.add('SELECT * FROM NomesProduto where Pro_codigo=:k_Pro_codigo and Nomp_numero=:k_Nomp_numero');
  tq.parambyname('k_Pro_codigo').asstring:=p_Pro_codigo;
  tq.parambyname('k_Nomp_numero').asstring:=p_Nomp_numero;
  tq.open;
  if tq.eof then begin
    tq.sql.clear; tq.params.clear;
    tq.sql.add('INSERT INTO NomesProduto VALUES('+
               ':k_Pro_codigo,'+
               ':k_Nomp_numero,'+
               ':k_Nomp_descricao)');
  end else begin
    tq.sql.clear; tq.params.clear;
    tq.sql.add('UPDATE NomesProduto SET Nomp_descricao=:k_Nomp_descricao WHERE Pro_codigo=:k_Pro_codigo and Nomp_numero=:k_nomp_numero');
  end;
  tq.parambyname('k_Pro_codigo').asstring:=p_Pro_codigo;
  tq.parambyname('k_Nomp_numero').asstring:=p_Nomp_numero;
  tq.parambyname('k_Nomp_descricao').asstring:=Nomp_descricao;
  tq.close;
  tq.execsql;
  result:=1;
  tq.close;
  tq.free;
end;

function TNomesProduto.Recuperar;
var tq:TQuery;
begin
  tq:=Tquery.Create(dmint);
  tq.databasename:=DmInt.Db.DatabaseName;
  tq.active:=False;
  tq.sql.clear;
  tq.sql.add('SELECT * FROM NomesProduto where Pro_codigo=:k_Pro_codigo and Nomp_numero=:k_Nomp_numero');
  tq.Params[0].asstring:=p_Pro_codigo;
  tq.params[1].asstring:=p_Nomp_numero;
  tq.open;
  Pro_codigo   :=p_Pro_codigo;
  Nomp_numero  :=p_Nomp_numero;
  if tq.eof then begin
    Nomp_descricao :='';
    Result:=0;
  end else begin
    Nomp_descricao := tq.fieldbyname('Nomp_descricao').asstring;
    Result:=1;
  end;
  tq.Close;
  tq.Free;
end;

function TNomesProduto.Excluir;
var tq:TQuery;
begin
  tq:=Tquery.Create(dmint);
  tq.databasename:=dmint.db.databasename;
  tq.active:=False;
  tq.close;
  tq.sql.Clear;
  tq.params.clear;
  tq.sql.add('DELETE FROM NomesProduto WHERE Pro_codigo=:k_Pro_codigo and Nomp_numero=:k_nomp_numero');
  tq.parambyname('k_Pro_codigo').asstring:=p_Pro_codigo;
  tq.parambyname('k_Nomp_numero').asstring:=p_Nomp_numero;
  tq.execSQL;
  Result:=1;
  tq.close;
  tq.Free;
end;

procedure TNomesProduto.Consultar;
begin
  p_q.sql.Clear;
  p_q.Params.Clear;
  p_q.sql.add('Select * from NomesProduto where Pro_codigo=:k_Pro_codigo  order by Nomp_numero');
  p_q.parambyname('k_Pro_Codigo').asstring:=p_Pro_Codigo;
end;

end.
